home *** CD-ROM | disk | FTP | other *** search
/ PC Home 138 / PC Home issue 138.iso / Software / Essentials / Netscape / nim.xpi / bin / chrome / aim.jar / content / aim / AimBuddy.js < prev    next >
Encoding:
JavaScript  |  2002-10-30  |  5.0 KB  |  200 lines

  1. /* XXXVISHY - lets try to keep it all in aimHelpers
  2.  
  3. var allEnums = null;
  4.  
  5. function getEnums( myInterface )
  6. {
  7.     var enums = { };
  8.     for ( var i in myInterface ) {
  9.         if ( typeof myInterface[i] == "number" ) {
  10.             enums[i] = myInterface[i];
  11.         }
  12.     }
  13.     return enums;
  14. }
  15.  
  16. function aimBuddyObject()
  17. {
  18.     var pIIMManager = aimManager();
  19.     if(pIIMManager)
  20.         return pIIMManager.QueryInterface(Components.interfaces.nsIAimBuddy);
  21.     else
  22.         return null;
  23. }
  24. */
  25.  
  26. function aimBuddyIsOnline(screenName)
  27. {
  28.     var pIAimBuddy = aimBuddyManager();
  29.  
  30.     if ( !screenName || screenName == "" )
  31.         return false;
  32.     if(pIAimBuddy)
  33.         return pIAimBuddy.IsBuddyOnline(screenName);
  34. }
  35.  
  36. function aimBuddyAddBuddyGroup(groupName, beforeGroup)
  37. {
  38.     if (beforeGroup == "")
  39.         beforeGroup = null;
  40.  
  41.     dump('AddBuddyGroup: ' + groupName + ', before: ' + beforeGroup + '\n');
  42.  
  43.     var pIAimBuddy = aimBuddyManager();
  44.  
  45.     var isInList = new Object();
  46.  
  47.     pIAimBuddy.GroupIsInList(groupName, isInList);
  48.     if ( isInList.value == true ) {
  49.         aimErrorBox(aimString("msg.GroupAlreadyInList"));
  50.         return 1;
  51.     }
  52.     if ( beforeGroup == "" )
  53.         beforeGroup = null;
  54.     if(pIAimBuddy)
  55.         pIAimBuddy.AddGroup(groupName, beforeGroup);
  56.     return 0;
  57. }
  58.  
  59. function aimBuddyRemoveBuddyGroup(groupName)
  60. {
  61.     dump('RemoveBuddyGroup: ' + groupName + '\n');
  62.  
  63.     var pIAimBuddy = aimBuddyManager();
  64.     if(pIAimBuddy)
  65.         pIAimBuddy.RemoveGroup(groupName);
  66. }
  67.  
  68. function aimBuddyRenameBuddyGroup(oldName, newName)
  69. {
  70.     dump('RenameBuddyGroup: ' + oldName + ' -> ' + newName + '\n');
  71.  
  72.     var pIAimBuddy = aimBuddyManager();
  73.     if(pIAimBuddy)
  74.         pIAimBuddy.RenameGroup(oldName, newName);
  75. }
  76.  
  77. function aimBuddyAddBuddyBefore(groupName, screenName, beforeBuddy)
  78. {
  79.     dump('AddBuddy: ' + groupName + '/' + screenName + ', buddy: ' + beforeBuddy + '\n');
  80.  
  81.     var pIAimBuddy = aimBuddyManager();
  82.     if ( beforeBuddy == "" ) {
  83.         beforeBuddy = null;
  84.     }
  85. /*
  86.     if ( allEnums == null )
  87.         allEnums = getEnums( Components.interfaces.nsAimInsertionStyles );
  88. */
  89.     if(pIAimBuddy) {
  90.         var inBudList = pIAimBuddy.BuddyIsInGroup(screenName, groupName);
  91.         if ( inBudList ) {
  92.             var msg = aimString("msg.BuddyAlreadyInGroup") + " " +
  93.                 groupName;
  94.             aimErrorBox(msg);
  95.             return 1;
  96.         }
  97.         if (beforeBuddy)
  98.             pIAimBuddy.AddBuddy(groupName, screenName, beforeBuddy, aimInsertionStyles().InsertBefore);
  99.         else
  100.             pIAimBuddy.AddBuddy(groupName, screenName, beforeBuddy, aimInsertionStyles().InsertEnd);
  101.     }
  102.     return 0;
  103. }
  104.  
  105. function aimBuddyAddBuddyAfter(groupName, screenName, afterBuddy, dispname, service)
  106. {
  107.   var pIAimBuddy = aimBuddyManager();
  108.   if (afterBuddy == "")
  109.     afterBuddy = null;
  110.  
  111.   if(pIAimBuddy) {
  112.     var inBudList = pIAimBuddy.BuddyIsInGroup(screenName, groupName);
  113.     if (inBudList) {
  114.       var msg = aimString("msg.BuddyAlreadyInGroup") + " " + groupName;
  115.       aimErrorBox(msg);
  116.       return 1;
  117.     }
  118.     if (afterBuddy)
  119.       pIAimBuddy.AddBuddy(groupName, screenName, afterBuddy, aimInsertionStyles().InsertAfter, dispname);
  120.     else
  121.       pIAimBuddy.AddBuddy(groupName, screenName, afterBuddy, aimInsertionStyles().InsertEnd, dispname);
  122.  
  123.   }
  124.   if (service == 1) {
  125.     // user entered all numbers, so icq service
  126.     aimBuddyManager().SetIfIcqUserinDS(screenName, true);
  127.     aimFeedbagManager().SetDisplay(groupName, screenName, dispname); 
  128.   }
  129.   else 
  130.     aimBuddyManager().SetIfIcqUserinDS(screenName, false);
  131.   
  132.  
  133.   return 0;
  134. }
  135.  
  136. function aimBuddyRemoveBuddy(groupName, screenName)
  137. {
  138.     var pIAimBuddy = aimBuddyManager();
  139.     if(pIAimBuddy)
  140.         pIAimBuddy.RemoveBuddy(groupName, screenName);
  141. }
  142.  
  143. function aimBuddyMoveGroup(group, beforeGroup)
  144. {
  145.     var pIAimBuddy = aimBuddyManager();
  146.     if(pIAimBuddy)
  147.         pIAimBuddy.MoveGroup(group, beforeGroup);
  148. }
  149.  
  150. function aimBuddyMoveBuddy(group, buddy, beforeGroup, beforeBuddy)
  151. {
  152.     var pIAimBuddy = aimBuddyManager();
  153.     if(pIAimBuddy)
  154.         pIAimBuddy.MoveBuddy(group, buddy, beforeGroup, beforeBuddy);
  155. }
  156.  
  157. // false means failure
  158.  
  159. function aimBuddyImportBuddyList(fileSpec)
  160. {
  161.     var myStatus = new Object();
  162.     var mask = new Object();
  163.     var pIAimBuddy = aimBuddyManager();
  164.     if(pIAimBuddy) {
  165.         pIAimBuddy.ImportBuddyListPrepare(fileSpec, myStatus, mask);
  166.         if ( myStatus.value == true ) {
  167.             var groups = new Object();
  168.             pIAimBuddy.ImportBuddyListGetGroups(groups);
  169.             importBuddyListArgsObj = {
  170.                     mask: mask,
  171.                     groups: groups,
  172.                 }
  173.             window.openDialog('chrome://aim/content/ImportBuddyList.xul','_blank','modal=yes,titlebar,chrome', importBuddyListArgsObj);
  174.         } 
  175.         return( myStatus.value );
  176.     }
  177.     return false;
  178. }
  179.  
  180. // false means failure
  181.  
  182. function aimBuddyExportBuddyList(fileSpec, status)
  183. {
  184.     exportBuddyListArgsObj = {
  185.                fileSpec: fileSpec,
  186.            }
  187.  
  188.     window.openDialog('chrome://aim/content/ExportBuddyList.xul','_blank','modal=yes,titlebar,chrome', exportBuddyListArgsObj);
  189.         return true;
  190. /*
  191.     var myStatus = new Object();
  192.     var pIAimBuddy = aimBuddyManager();
  193.     if(pIAimBuddy) {
  194.         pIAimBuddy.ExportBuddyList(fileSpec, myStatus);
  195.         return( myStatus.value );
  196.     }
  197.     return false; 
  198. */
  199. }
  200.